#if !defined(__APP_MQTT_H)
#define __APP_MQTT_H

#define ADDRESS "tcp://192.168.33.39:1883"  // 服务器地址
#define CLIENTID "94821929-e9c5-4613-f005-75f23f1da227" // 客户端ID
#define TOPIC_PULL "remote_to_gateway" // 订阅主题
#define TOPIC_PUSH "gateway_to_remote" // 发布主题
#define QOS 1
#define TIMEOUT 10000L

/**
 * @brief 初始MQTT模块
 * 
 * @return int 0：成功，-1：失败
 */
int app_mqtt_init();

/**
 * @brief 关闭MQTT模块
 * 
 */
void app_mqtt_close();

/**
 * @brief 发送json数据
 * 
 * @param json 被发送的json数据
 * @return int 0：成功，-1：失败
 */
int app_mqtt_send(char *json);

/**
 * @brief 注册接收处理json数据的回调函数
 * 
 * @param callback 
 */
void app_mqtt_registerRecvCallback(int (*callback)(char *json));

#endif // __APP_MQTT_H
